package com.sikaryofficial.information.config;

import com.sikaryofficial.information.interceptor.TraceInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * 这个类是用来配置SpringMVC的，比如静态资源，拦截器，视图解析器，消息转换器等等
 */
@Configuration
public class WebConfigurer implements WebMvcConfigurer {

    @Autowired
    private TraceInterceptor traceInterceptor;

    /**
     *    这个方法是用来配置静态资源的，比如html，js，css，等等
      */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
    }

    /**
     *  这个方法用来注册拦截器，我们自己写好的拦截器需要通过这里添加注册才能生效
      */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // addPathPatterns("/**") 表示拦截所有的请求，
        registry.addInterceptor(traceInterceptor).addPathPatterns("/**");
    }
}
